package work.jame.blog.service;

import org.springframework.web.bind.annotation.RequestParam;
import work.jame.blog.pojo.UserRelation;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Jame
 * @since 2023-05-14
 */
public interface UserRelationService extends IService<UserRelation> {

    /**
     * 查询粉丝数量
     *
     * @param userId 用户id
     * @return 粉丝数量
     */
    Long queryFollowersCount(Long userId);


    /**
     * 查询关注的人数
     *
     * @param userId 用户
     * @return 关注的人数
     */
    Long queryFollowingCount(Long userId);

    /**
     * 查询用户是否关注了另一个用户
     *
     * @param userId          用户id
     * @param followersUserId 关注ta的用户id
     * @return
     */
    boolean queryUserFollowing(Long userId, Long followersUserId);


    /**
     * 关注用户
     *
     * @param followUserId 关注的用户id
     * @return 是否关注成功
     */
    boolean followUser(Long followUserId);

    /**
     * 取关用户
     *
     * @param followUserId 取关注的用户id
     * @return 是否取关成功
     */
    boolean cancelFollowUser(Long followUserId);

}
